Add a helper function to write a string as UTF-8 to a GOutputStream.
The signature of GOutputStream:
gboolean g_output_stream_write_all (GOutputStream *stream,
const void *buffer,
gsize count,
gsize *bytes_written,
GCancellable *cancellable,
GError **error);
Can't currently be handled by GJS.
https://bugzilla.gnome.org/show_bug.cgi?id=618189
button, time);
}
+/**
+ * shell_write_string_to_stream:
+ * @stream: a #GOutputStream
+ * @str: a UTF-8 string to write to @stream
+ * @error: location to store GError
+ *
+ * Write a string to a GOutputStream as UTF-8. This is a workaround
+ * for not having binary buffers in GJS.
+ *
+ * Return value: %TRUE if write succeeded
+ */
+gboolean
+shell_write_string_to_stream (GOutputStream *stream,
+ const char *str,
+ GError **error)
+{
+ return g_output_stream_write_all (stream, str, strlen (str),
+ NULL, NULL, error);
+}
+
/**
* shell_global_get_current_time:
* @global: A #ShellGlobal
void shell_popup_menu (GtkMenu *menu, int button, guint32 time,
int menu_x, int menu_y);
+gboolean shell_write_string_to_stream (GOutputStream *stream,
+ const char *str,
+ GError **error);
+
guint32 shell_global_get_current_time (ShellGlobal *global);
GAppLaunchContext *shell_global_create_app_launch_context (ShellGlobal *global);